Tag reading using targeted spatial spectral detection

ABSTRACT

A system for determining a spectrum includes an interface and a processor. The interface is configured to receive a sample set of intensity data for an array of spatial locations and a set of spectral configurations. The processor is configured to determine a region of interest using the sample set of intensity data and determine a spectral peak for the region of interest.

CROSS REFERENCE TO OTHER APPLICATIONS

This application is a continuation of co-pending U.S. patent applicationSer. No. 15/348,873 entitled TAG READING USING TARGETED SPATIAL SPECTRALDETECTION filed Nov. 10, 2016, which claims priority to U.S. ProvisionalPatent Application No. 62/259,244 entitled TAG READING USING TARGETEDSPATIAL SPECTRAL DETECTION filed Nov. 24, 2015, both of which areincorporated herein by reference for all purposes.

BACKGROUND OF THE INVENTION

Normally hyperspectral imaging is used for object detection, such asdiseased crops, military targets, or geological formations. In thosecases once the objects are detected, the job is done. So the number offrames in the hyperspectral cube is set at just enough to ensure thatthe detection job can be done. However for determining spectra, locationand decoding must be achieved. So, just detection is not sufficient.Location and decoding require a much larger amount of data thandetection, creating a problem where the storage and processingcapabilities of the reader are challenged.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the invention are disclosed in the followingdetailed description and the accompanying drawings.

FIG. 1 is a diagram illustrating an embodiment of an optical setup forspectral response detection.

FIG. 2 is a diagram illustrating an embodiment of a Fabry-Perotinterferometer.

FIG. 3 is a diagram illustrating an embodiment of a spectral data cube.

FIG. 4 is a diagram illustrating an embodiment of interferometertransmissivity.

FIG. 5 is a diagram illustrating an embodiment of interferometertransmission peak wavelength locations.

FIG. 6A is a diagram illustrating an embodiment of vectors in aparameter space.

FIG. 6B is a diagram illustrating an embodiment of an angularmeasurement as a function of interferometer gap.

FIG. 7 is a flow diagram illustrating an embodiment of a process forspectral reading using targeted spatial spectral detection.

FIG. 8 is a flow diagram illustrating an embodiment of a process fordetermining a region of interest using a sample set of data.

FIG. 9 is a flow diagram illustrating an embodiment of a process fordetermining a spectral peak for a region of interest.

DETAILED DESCRIPTION

The invention can be implemented in numerous ways, including as aprocess; an apparatus; a system; a composition of matter; a computerprogram product embodied on a computer readable storage medium; and/or aprocessor, such as a processor configured to execute instructions storedon and/or provided by a memory coupled to the processor. In thisspecification, these implementations, or any other form that theinvention may take, may be referred to as techniques. In general, theorder of the steps of disclosed processes may be altered within thescope of the invention. Unless stated otherwise, a component such as aprocessor or a memory described as being configured to perform a taskmay be implemented as a general component that is temporarily configuredto perform the task at a given time or a specific component that ismanufactured to perform the task. As used herein, the term ‘processor’refers to one or more devices, circuits, and/or processing coresconfigured to process data, such as computer program instructions.

A detailed description of one or more embodiments of the invention isprovided below along with accompanying figures that illustrate theprinciples of the invention. The invention is described in connectionwith such embodiments, but the invention is not limited to anyembodiment. The scope of the invention is limited only by the claims andthe invention encompasses numerous alternatives, modifications andequivalents. Numerous specific details are set forth in the followingdescription in order to provide a thorough understanding of theinvention. These details are provided for the purpose of example and theinvention may be practiced according to the claims without some or allof these specific details. For the purpose of clarity, technicalmaterial that is known in the technical fields related to the inventionhas not been described in detail so that the invention is notunnecessarily obscured.

A system for determining a spectrum comprises an interface and aprocessor. The interface is configured to receive a sample set ofintensity data for an array of spatial locations and a set of spectralconfigurations, where each spectral configuration detects a differentwavelength or combination of wavelengths of light. The processor isconfigured to determine a region of interest using the sample set ofdata and determine a spectral peak for the region of interest.

In some embodiments, for spectral decoding, both finding an object anddecoding a reflected spectrum is required. Memory, time, and/orprocessing power can be saved by splitting the operations of detectionand extraction/decoding.

In some embodiments, for determining a spectrum, memory can be saved byprocessing frames as they appear without saving them, so that the fullset of frames required for spectral detection doesn't have to be kept inmemory. For example, objects (e.g., tags) can be found by looking forlocal maxima in the standard deviation of received intensity valuesalong the spectral axis. In another example, objects (e.g., tags) can befound by looking for peaks by looking for maxima after filtering inputdata (e.g., running a convolutional filter—for example, a matched filterwith suppression in the surround). In some embodiments, filtering andlooking for a maxima in standard deviation are done in sequence toidentify a region of interest. In some embodiments, filtering andlooking for peaks in two ranges of frequencies are done in sequence toidentify a region of interest. In this case each frame is a digitizedimage of a sample collected at a specific wavelength or set ofwavelengths, and different frames are collected using differentwavelengths or set of wavelengths. To calculate the standard deviation,the sum of the frames and the sum of the square of the frames areneeded. So when a frame appears, each intensity value in each locationof the frame and its square are each added to an accumulator. Each frameis then overwritten by the next frame. Once all the frames arecollected, a simple operation is performed on the two accumulated values(e.g., the sum and the sum of the squares) for each location in theframe to get the standard deviation of the value in that location of theframe. In this manner, a new frame (e.g., a map) is created that has thesame spatial dimensions as the original frames but contains the standarddeviation through the frames at each point. Then local maxima in the mapcorrespond to locations of candidate tags on the full hyperspectralcube. In various embodiments, this method is applied either to a fullhypercube as the hypercube is captured or to a subset of a hypercube.

In some embodiments, spectral detection is achieved using filteringalong the spectral axis, assuming that the filter kernel is shorter thanthe full spectral axis. With filtering, a subset of frames equal to thekernel length is kept in memory at one time, rather than just the onefor the standard deviation. This is what we're calling sequentialprocessing. To determine the kernel length used for this step, we findthe minimum number of frames sufficient to detect an object reliably byisolating a spectral feature in the filtering approach. For example, inthe event that the filter kernel is tuned to couple strongly to aspectral feature with spectral width equal to 1/10 the length of thefull spectral axis, the kernel length might be 1/10 the full spectralaxis length. Or it could be done by capturing a subset of many spectralfeatures in the standard deviation approach. For example, the targetedspectral features might be a set of strong peaks or valleys in thespectrum that serve to increase the standard deviation along thespectral axis. Also in the event that memory isn't a constraint, theframes in this step could be stored in memory and reused in the laststep below. In that case processing power is saved by not processing theentire hyperspectral cube, and time is saved, by computing the regionsof interest while capture of the hyperspectral cube is still ongoing. Atthe end of the sequential processing, a 2D array has been determinedover the spatial axes that has a higher value where candidate objectsare present, and a lower value where they are not. From this array,regions of interest are chosen that are likely to contain an object. Forexample, regions of interest may be chosen by searching the 2D array formaxima (points where all neighbors are less than the point itself).Maxima may then be sorted in descending order of value, creating a listof points, with the first in the list most likely to correspond to atag, the second in the list the second most likely, etc. Regions ofinterest can then be determined by including a fixed range of pointsaround each point in the list, with the size of the range determinedfrom the expected size of an object. The regions of interest are thenthe focus for analysis.

In some embodiments, at this point a full scan is run to extractspectral information with enough frames to extract the objectinformation. But during the data collection, only the hyperspectralinformation in the regions of interest is saved. This greatly reducesthe amount of data saved in memory. For example, in the event that theobjects comprise 1% of the reader field of view, a data reduction on theorder of 99% can be achieved in this manner.

In some embodiments, the data collected is not a computed spectrum, sofurther processing is necessary to obtain a spectrum from the datacollected. In the event that the reader is based on a Fabry-PerotInterferometer in a low-finesse Fourier Transform mode, for example,then conversion from captured data to a spectrum requires a Fouriertransform. If only the regions of interest are processed into spectra,the computational effort required to decode a spectrum of an object isfurther reduced. Once a spectrum from an object such as a tag isobtained, decoding can proceed. In some embodiments, a tag comprises areflector with selective reflection. In various embodiments, thereflector comprises one or more of the following: a rugate tag, a Braggreflector, or any other appropriate reflector. In various embodiments,tags comprise one of the following materials: silicon, silicon dioxide,silicon nitride, doped silicon, or any other appropriate material. Insome embodiments, the unique optical signature of each tag can be readusing an absolute or a relative spectral measurement device, apparatus,or system. In some embodiments, tags comprise the surface of a siliconwafer that is etched to have a spectral code encoded by the etching. Athin layer from the surface of the etched wafer is removed and dividedinto small tags, and the resultant tags contain a complex porousnanostructure that is programmed during electrochemical synthesis todisplay a unique reflectivity spectrum. The tags are then oxidized by ahigh-temperature bake step to turn the crystalline, nanoporous silicontags into amorphous, nanoporous silica. This bake step stabilizes thenanoporous structure against further oxidation (thus stabilizing thespectral signature) and provides for the tags to be characterized as aGRAS excipient.

In some embodiments, spectral configuration detects a differentwavelength or combination of wavelengths of light by spectral filteringreflected light from an object before detecting the light in a detector.In various embodiments, the spectral filtering comprises a Fabry-Perotfilter, an interference filter, or any other appropriate spectralfilter. In some embodiments, the spectral filter is tunable. In someembodiments, the spectral filter is a set of fixed filters that are infront of separate detectors or are mechanically swapped or opticallyswitched in front of a fixed detector. In various embodiments, theFabry-Perot filter is mechanically tunable, electro-optically tunable(e.g., a change in index of refraction of the medium in between thepartially reflecting mirrors), acousto-optically tunable, or any otherappropriate filter.

FIG. 1 is a diagram illustrating an embodiment of an optical setup forspectral response detection. FIG. 1 comprises measurement area 100comprising one or more regions for producing optical spectra (e.g.,region 102). Measurement area 100 is illuminated by light 104. Reflectedlight 106 comprises light reflected by region 102. Reflected light 106is focused by lens 108, passes through filter 110, and is captured byoptical detector 112. Filter 110 comprises a filter for transmittinglight at some frequencies and not at other frequencies. Optical detector112 comprises an optical detector for detecting optical intensities.Spectral response detector control system 114 comprises a spectralresponse detector control system for interacting with optical detector112. Spectral response detector control system 114 provides controlinformation to optical detector 112 (e.g., control informationindicating to capture data) and receives optical intensity data fromoptical detector 112.

In some embodiments, regions for producing optical spectra (e.g., region102) comprise optical tags (e.g., optical tags engineered to reflectlight with a recognizable spectrum). In various embodiments, light 104comprises broadband light, narrowband light, filtered light, light froma light-emitting diode, laser light, or any other appropriate light. Invarious embodiments, light 104 is incident to measurement area 100 froma single point, at a single angle, from multiple angles, or incident inany other appropriate manner. In some embodiments, filter 110 comprisesa tunable optical filter. In some embodiments, filter 110 comprises aFabry-Perot interferometer. In some embodiments, optical detector 112comprises an array of optical detector pixels for detecting an array ofoptical intensities. In some embodiments, the array of optical detectorpixels comprises an x axis and a y axis. In some embodiments, each pixelof the array of optical detector pixels comprises a set of opticaldetectors, each optical detector comprising a color filter (e.g., eachpixel comprises three detectors, a first detector comprising a red colorfilter, a second detector comprising a green color filter, and a thirddetector comprising a blue color filter). In some embodiments, spectralresponse detector control system 114 interacts with filter 110 (e.g., toindicate tunable filter properties). In some embodiments, spectralresponse detector control system 114 interacts with filter 110 toindicate a Fabry-Perot interferometer gap size. In some embodiments,spectral response detector control system 114 is configured to receive acalibration data. In some embodiments, the calibration data comprises aset of intensity data for an array of spatial locations and a range ofspectral configurations for a monochromatic source (e.g., a set of gapsizes for a Fabry-Perot interferometer).

FIG. 2 is a diagram illustrating an embodiment of a Fabry-Perotinterferometer. In some embodiments, Fabry-Perot interferometer 200comprises filter 110 of FIG. 1. Fabry-Perot interferometer 200 comprisesmirror 202 and mirror 204. Each of mirror 202 and mirror 204 comprises apartially reflective mirror (e.g., some light is able to pass throughand some light is reflected). Each of mirror 202 and mirror 204comprises a mirror silvering on one side (e.g., mirror 202 comprises amirror silvering on its right side as shown in FIG. 2 and mirror 204comprises a mirror silvering on its left side as shown in FIG. 2).Mirror 202 and mirror 204 are held together by piezo element 206 andpiezo element 208. Piezo element 206 and piezo element 208 comprisepiezo elements for changing size. Piezo element 206 and piezo element208 change size according to an applied voltage. When piezo element 206and piezo element 208 change size, the gap between the mirror silveringof mirror 202 and the mirror silvering of mirror 208 changes. Changingthe gap between the mirror silvering of mirror 202 and the mirrorsilvering of mirror 208 causes the optical properties (e.g., the lighttransmission and reflectance properties) of Fabry-Perot interferometer200 to change. In this way, Fabry-Perot interferometer 200 comprises atunable optical filter.

In some embodiments mirror silvering comprises a partially reflectivemetal layer (e.g., a silver layer, an aluminum layer, a titanium layer,etc.). In various embodiments, mirror 202 and mirror 204 are heldtogether by 1, 2, 3, 4, 5, or any other appropriate number of piezoelements. In some embodiments, the spatial positioning of the piezoelements separating mirror 202 and mirror 204 enable adjustment of theangle between mirror 202 and mirror 204.

In some embodiments, the mirrors are separated with a fixed distance anda medium interior to the mirrors changes its index of refraction (e.g.,electro- or acousto-optically) and instead of a set of gap sizes thereis a set of different index-changed path lengths.

FIG. 3 is a diagram illustrating an embodiment of a spectral data cube.In some embodiments, spectral data cube 300 of FIG. 3 comprises a cuberepresenting data measured by an optical detector (e.g., opticaldetector 112 of FIG. 1). Spectral data cube 300 comprises a cube of datarecorded by an optical detector. The x axis of spectral data cube 300corresponds to the x axis of the optical detector and the y axis ofspectral data cube 300 corresponds to the y axis of the opticaldetector. The z axis of spectral data cube 300 corresponds to aninterferometer gap size (e.g., the mirror gap size of a Fabry-Perotinterferometer). The data intensity shown at a given data location(e.g., corresponding to a given x and y location on the optical detectorand a given interferometer gap size) indicates the intensity of thelight received by the optical detector.

In some embodiments, the interferometer gap size comprises the gap sizeof Fabry-Perot interferometer 200 of FIG. 2. In various embodiments,spectral data cube 300 comprises a spectral data hypercube with one ormore of the following properties: each data location comprising threelight intensity measurements, each measurement taken by a separateoptical detector at the given location, each optical detector associatedwith a different color filter, or any other appropriate properties. Insome embodiments, multiple peaks associated with differentinterferometer gap sizes are measured at a given detector location.

FIG. 4 is a diagram illustrating an embodiment of interferometertransmissivity. In some embodiments, curve 400 of FIG. 4 illustrates thelight transmissivity of a Fabry-Perot interferometer (e.g., Fabry-Perotinterferometer 200 of FIG. 2) vs. light wavelength. In the exampleshown, curve 400 of FIG. 4 illustrates the light transmissivity of aFabry-Perot interferometer vs. light wavelength for a given gap size.Multiple light transmission peaks are seen for the given gap size. Threelight transmission peaks are seen in curve 400. In various embodiments,two light transmission peaks are seen as a function of gap size, threelight transmission peaks are seen as a function of gap size, four lighttransmission peaks are seen as a function of gap size, or any otherappropriate number of light transmission peaks are seen as a function ofgap size.

FIG. 5 is a diagram illustrating an embodiment of interferometertransmission peak wavelength locations. In some embodiments, set ofcurves 500 illustrates a set of transmission peak locations for aFabry-Perot interferometer (e.g., Fabry-Perot interferometer 200 of FIG.2). In the example shown, set of curves 500 illustrates the location ofeach of a set of interferometer transmission peak locations as theinterferometer gap of the Fabry-Perot interferometer is changed. In theexample shown, set of curves 500 comprises 4 curves. For a given gapsize (e.g., gap size g_(i)), there are a set of transmission peaks atdifferent wavelengths (e.g., as shown by curve 400 of FIG. 4).

FIG. 6A is a diagram illustrating an embodiment of vectors in aparameter space. In some embodiments, the vectors of FIG. 6A are twodimensional representations of intensity vectors (e.g., vectorscomprising a first color intensity in a first direction as measured by afirst color detector and a second color intensity in a second directionas measured by second color detector). In some embodiments, a vector iscalculated and displayed in a three dimensional space (e.g., the threedimensions correspond to three color detectors). In the example shown,vectors λ₁ and λ₂ comprise calibration vectors for a Fabry-Perotinterferometer (e.g., Fabry-Perot interferometer 200 of FIG. 2). A setof calibration vectors is associated with each gap size of theFabry-Perot interferometer. Each calibration vector of the set ofcalibration vectors is associated with a transmission peak associatedwith the gap size. Determining a calibration vector comprisesilluminating the Fabry-Perot interferometer with monochromatic light ofthe transmission peak wavelength and recording the intensity measured byeach optical detector of a set of optical detectors forming a pixel(e.g., each optical detector associated with a different color filter).Each optical detector is associated with an axis of the parameter space.Measured intensity vector 600 comprises a vector associated with anoptical measurement. In some embodiments, measured intensity vector 600comprises a representation of data at one point within data cube 300 ofFIG. 3. Angles θ₁ and θ₂ comprise the angles formed between thecalibration vectors and measured intensity vector 600.

In various embodiments, intensity vectors comprise intensity vectors ina two-dimensional parameter space (e.g., representing two colorintensities), intensity vectors in a three-dimensional parameter space(e.g., representing three color intensities), intensity vectors in afive-dimensional parameter space (e.g., representing five colorintensities), or intensity vectors in any other appropriate parameterspace.

FIG. 6B is a diagram illustrating an embodiment of an angularmeasurement as a function of interferometer gap. In the example shown,θ₁ and θ₂ are plotted as an interferometer gap is varied. θ₂ is seen todip at a gap size of interest, while θ₁ is seen to rise, indicating themeasured intensity vector swings toward calibration vector λ₂. Thisswing indicates that the measured light is passing through theFabry-Perot interferometer at the transmission peak associated withcalibration vector λ₂ and not the transmission peak associated withcalibration vector λ₁. In some embodiments, θ₁ and θ₂ comprise θ₁ and θ₂as shown in FIG. 6A.

In some embodiments, in three dimensions the angles are measured inthree dimensions towards calibration vectors. In some embodiments, inthe event that the angles shift as a function of gap towards one of thecalibration vectors as the gap is incremented or decremented, it isdetermined that the peak corresponds to the peak associated with thecalibration vector.

FIG. 7 is a flow diagram illustrating an embodiment of a process forspectral reading using targeted spatial spectral detection. In 700, asample set of intensity data is received for an array of spatiallocations and a range of spectral configurations. In 701, data in thearray of spatial locations is transformed for rotation, translation,and/or key stoning. In 702, a region of interest is determined using thesample set of data. In 704, a spectral peak is determined for the regionof interest.

In some embodiments, the process of FIG. 7 is executed by spectralresponse detector control system 114. In some embodiments, a set ofregions of interest is determined in 702. In some embodiments, aspectral peak is determined in 704 for all regions of interest in theset of regions of interest. In some embodiments, more than one spectralpeak is determined for a region of interest. In some embodiments,determining one or more spectral peaks comprises decoding a signature.In some embodiments, the signature comprises a tag signature.

In some embodiments, spectral peak is identified within the spatialarray of data associated with one spectral configuration. To correspondthis peak with a peak identified within the spatial array of dataassociated with another spectral configuration, in some embodiments, thedata of the spatial array is corrected for rotation, translation, and/orkeystoning (e.g., trapezoidal scaling). In some embodiments, spatialarray data is processed in an area larger than a region of interest tomake sure that a peak that is associated with one spectral configurationcan be matched to the peak associated with another spectralconfiguration. For example, a first spatial array of data is takenassociated with one spectral configuration and then at a later time aspatial array of data is taken associated with another spectralconfiguration. Between the two times, it is possible that the datataking device is rotated, translated, and/or tilted making the data inthe two corresponding spatial arrays of data related to each other witha rotation, translation, and/or key stoning translation.

FIG. 8 is a flow diagram illustrating an embodiment of a process fordetermining a region of interest using a sample set of data. The flowdiagram of FIG. 8 illustrates an embodiment of a process for determininga region of interest using a standard deviation calculation. In 800, adata frame associated with a spectral configuration is received. In 801,data frame is transformed for rotation, translation, and/or key stoning.For example, to get correspondence between spatial arrays of dataassociated with different spectral configurations, transformation isperformed if necessary between spatial arrays to make sure that the datain the arrays are spatially associated with each other. In someembodiments, fiducials in the data frames are used to determine thetransformations. In 802, the data frame is added to a value accumulator.In the event the data frame comprises the first data frame, the valueaccumulator is set to the value of the data frame. In 804, the dataframe values are squared (e.g., each value of the data frame values issquared). In 806, the squared data frame values are added to a squaredvalue accumulator. In the event the data frame comprises the first dataframe, the squared value accumulator is set to the value of the squareddata frame. In 808, it is determined whether there are more data frames.In the event there are more data frames, control passes to 800. In theevent there are not more data frames, control passes to 810. In 810, thestandard deviation is determined. Determining the standard deviation fora set of data frames comprises determining the standard deviation foreach point of the data frame, across the set of data frames. Thestandard deviation for the set of data frames can be determined by firstdetermining the data mean by dividing the values of the valueaccumulator by the total number of data frames received. A mean ofsquared data can additionally be determined by dividing the values ofthe squared value accumulator by the total number of data framesreceived. The standard deviation for the set of data frames can then bedetermined by determining the square root of the difference between themean of squared data and the square of the data mean. In 812, one ormore regions of interest are identified by determining local maxima inthe standard deviation data (e.g., local maxima across the data frame).

In some embodiments, the process of FIG. 8 implements 702 of FIG. 7. Insome embodiments, a data frame comprises a two-dimensional array of datapixels. In some embodiments, each data pixel comprises three coloredpixels, each colored pixel associated with a color filter of a differentcolor. In some embodiments, one or more signal processing techniquesother than standard deviation computation are used for processing thespectral axis of the data cube (e.g., thresholding, filtering, matchedfiltering, etc.).

FIG. 9 is a flow diagram illustrating an embodiment of a process fordetermining a spectral peak for a region of interest. In someembodiments, the process of FIG. 9 implements 704 of FIG. 7. In 900, anindication to capture further intensity data for one or more regions ofinterest is provided. In 902, the further intensity data for the one ormore regions of interest is received. In 904, the intensity data istransformed into a parameter space (e.g., the parameter space shown inFIG. 6A). In 906, the difference between the intensity data in theparameter space and calibration data in the parameter space isdetermined. In 908, the spectral peak is determined (e.g., bydetermining a calibration data vector in the parameter space that theintensity data in the parameter space exhibits a movement towards).

Although the foregoing embodiments have been described in some detailfor purposes of clarity of understanding, the invention is not limitedto the details provided. There are many alternative ways of implementingthe invention. The disclosed embodiments are illustrative and notrestrictive.

What is claimed is:
 1. A system for determining a spectrum, comprising:an interface configured to receive a sample set of intensity data for anarray of spatial locations, wherein the sample set of intensity data forthe array of spatial locations comprises an imaging measurement at eachlocation in the array of spatial locations, wherein each location in thearray of spatial locations corresponds to a sample location, wherein thesample comprises an optical tag, and wherein the optical tag reflectslight with a recognizable spectrum; a processor configured to: determinea first region of interest using the sample set of intensity data,comprising: determining a set of locations of the array of spatiallocations corresponding to a maxima; ranking the set of locations basedon a likelihood that a location corresponds to the optical tag; anddetermining the first region of interest to include a fixed range aroundthe location of the set of locations, wherein the location is rankedmost likely to correspond to the optical tag, wherein the fixed range isbased at least in part on the predetermined size of the optical tag;determine first color data for the first region of interest from thesample set of intensity data; and in response to the first color datafor the first region of interest being not identified as therecognizable spectrum, determine a second region of interest using thesample set of intensity data and determine second color data for thesecond region of interest.
 2. The system of claim 1, wherein the firstcolor data and the second color data comprises three color data.
 3. Thesystem of claim 1, wherein the array of spatial locations comprises atwo dimensional array of spatial locations.
 4. The system of claim 1,wherein the set of locations of the array of spatial locations isdetermined using a filter.
 5. The system of claim 1, wherein the set oflocations of the array of spatial locations is determined using athreshold.
 6. The system of claim 1, wherein the set of locations of thearray of spatial locations is determined using a calculation of astandard deviation.
 7. The system of claim 1, wherein the first regionof interest comprises one of a plurality of regions of interest.
 8. Thesystem of claim 1, wherein the interface is further configured toreceive a calibration data.
 9. The system of claim 8, wherein thecalibration data comprises a calibration set of intensity data for acalibration array of spatial locations and a calibration set of spectralconfigurations for a monochromatic source.
 10. The system of claim 1,wherein determining the first color data for the first region of isinterest comprises providing an indication to capture further intensitydata for the first region of interest.
 11. The system of claim 1,wherein determining the first color data for the first region ofinterest comprises: transforming the intensity data into a parameterspace; and determining a difference between the intensity data in theparameter space and a calibration data in the parameter space.
 12. Thesystem of claim 1, wherein the first region of interest comprises one ofa set of regions of interest.
 13. The system of claim 1, wherein theprocessor is further configured to decode a signature.
 14. The system ofclaim 13, wherein the signature comprises a tag signature.
 15. A methodfor determining a spectrum, comprising: receiving a sample set ofintensity data for an array of spatial locations, wherein the sample setof intensity data for the array of spatial locations comprises animaging measurement at each location in the array of spatial locations,wherein each location in the array of spatial locations corresponds to asample location, wherein the sample comprises an optical tag, andwherein the optical tag reflects light with a recognizable spectrum;determining, using a processor, a first region of interest using thesample set of intensity data, comprising: determining a set of locationsof the array of spatial locations corresponding to a maxima; ranking theset of locations based on a likelihood that a location corresponds tothe optical tag; and determining the first region of interest to includea fixed range around the location of the set of locations, wherein thelocation is ranked most likely to correspond to the optical tag, whereinthe fixed range is based at least in part on the predetermined size ofthe optical tag; determine first color data for the first region ofinterest from the sample set of intensity data; and in response to thefirst color data for the first region of interest being not identifiedas the recognizable spectrum, determine a second region of interestusing the sample set of intensity data and determine second color datafor the second region of interest.
 16. A computer program product fordetermining a spectrum, the computer program product being embodied in anon-transitory computer readable storage medium and comprising computerinstructions for: receiving a sample set of intensity data for an arrayof spatial locations, wherein the sample set of intensity data for thearray of spatial locations comprises an imaging measurement at eachlocation in the array of spatial locations, wherein each location in thearray of spatial locations corresponds to a sample location, wherein thesample comprises an optical tag, and wherein the optical tag reflectslight with a recognizable spectrum; determining, using a processor, afirst region of interest using the sample set of intensity data,comprising: determining a set of locations of the array of spatiallocations corresponding to a maxima; ranking the set of locations basedon a likelihood that a location corresponds to the optical tag; anddetermining the first region of interest to include a fixed range aroundthe location of the set of locations, wherein the location is rankedmost likely to correspond to the optical tag, wherein the fixed range isbased at least in part on the predetermined size of the optical tag;determine first color data for the first region of interest from thesample set of intensity data; and in response to the first color datafor the first region of interest being not identified as therecognizable spectrum, determine a second region of interest using thesample set of intensity data and determine second color data for thesecond region of interest.